10 BS=1358:S0=160:S1=32:D0=209:D1=81:M=1:MF(0)=1:FORJ=1TO6:M=M*2:MF(J)=M:NEXT 20 PRINTCHR$(147)CHR$(5)" PRINTER WEDGE CHARACTER DESIGNER" 30 PRINTCHR$(17)"MOVE WITH CURSOR KEYS" 40 PRINT"PLACE DOT WITH F7":PRINT"ERASE DOT WITH F8" 50 PRINTCHR$(17)"ASSIGN CHARACTER WITH F1" 60 FORI=1TO5:PRINTCHR$(17):NEXT:PRINT"ASSIGN CHARACTER STRING WITH F3" 70 PRINT"ACTIVATE WEDGE WITH F2" 80 CH=S0:FORI=0TO9:FORJ=0TO6:GOSUB110:AR(I,J)=0:NEXTJ:NEXTI 90 I=0:J=0:CH=S1:GOSUB110:GOTO140 100 I=0:J=0:CH=S1:GOSUB110:GOTO140 110 X=BS+I+J*40:POKEX,CH:POKEX+54272,1:RETURN 120 GETZ$:IFZ$=""THEN120 130 RETURN 140 GOSUB120:DC=0:REM *CHARACTER EDITOR* 150 IFZ$=CHR$(29)THENDC=1 160 IFZ$=CHR$(157)THENDC=2 170 IFZ$=CHR$(17)THENDC=3 180 IFZ$=CHR$(145)THENDC=4 190 IFDC>0THENGOSUB370:GOSUB380 200 ONDCGOSUB290,310,330,350 210 GOSUB370:IFDC>0ANDLC=S0THENCH=S1:GOSUB110 220 IFDC>0ANDLC=D0THENCH=D1:GOSUB110 230 IFZ$=CHR$(136)THENAR(I,J)=1:CH=D1:GOSUB110 240 IFZ$=CHR$(140)THENAR(I,J)=0:CH=S1:GOSUB110 250 IFZ$=CHR$(133)THEN410 260 IFZ$=CHR$(137)THENPRINTCHR$(147)CHR$(17)"PLEASE WAIT":GOTO660 270 IFZ$=CHR$(134)THEN550 280 GOTO140 290 I=I+1:IFI>9THENI=0 300 RETURN 310 I=I-1:IFI<0THENI=9 320 RETURN 330 J=J+1:IFJ>6THENJ=0 340 RETURN 350 J=J-1:IFJ<0THENJ=6 360 RETURN 370 LC=PEEK(BS+I+J*40):RETURN 380 IFLC=S1THENCH=S0 390 IFLC=D1THENCH=D0 400 GOSUB110:RETURN 410 FORI=0TO9:REM *COMPUTE CHARACTER* 420 CL(I)=128:FORJ=0TO6:CL(I)=CL(I)+AR(I,J)*MF(J):NEXTJ:NEXTI 430 PRINT"ASSIGN CHARACTER TO WHICH KEY?" 440 GOSUB120:Z=ASC(Z$):B=3000+Z*10:REM *PRINT DATA STATEMENTS* 450 PRINTCHR$(147)CHR$(17)CHR$(17)CHR$(17)B"DATA"Z" "; 460 FORI=0TO9:IFCL(I)=128ANDCL(I+1)=128THEN480 470 PRINT","CL(I)CHR$(157);:NEXTI 480 PRINT:FORDX=1TO5:PRINT3000+Z*10+DX:NEXT 490 PRINT"RUN"CHR$(19);:FORJ=1TO3:PRINTCHR$(17);:NEXT 500 FORJ=1TO14:PRINTCHR$(29);:NEXT:PRINT","ICHR$(19) 510 IFI>0THEN540 520 PRINTCHR$(19);:FORJ=1TO3:PRINTCHR$(17);:NEXT 530 FORJ=1TO20:PRINTCHR$(32);:NEXT 540 POKE198,9:FORI=0TO8:POKE631+I,13:NEXT:END 550 PRINTCHR$(147)"ENTER CHARACTER STRING":INPUTA$:L=LEN(A$):IFL<1ORL>39THEN550 560 PRINT"ASSIGN TO WHICH KEY?":GOSUB120:DX=0:Z=ASC(Z$):I=1:B=3000+Z*10+DX 570 PRINTCHR$(147)CHR$(17)CHR$(17)CHR$(17)B"DATA"Z" ,15,17";:LX=2 580 PRINT","ASC(MID$(A$,I,1))CHR$(157);:LX=LX+1:I=I+1 590 IFLX>9ANDI<=LTHENLX=0:DX=DX+1:B=3000+Z*10+DX:GOSUB650 600 IFI<=LTHEN580 610 PRINT:FORDX=DX+1TO5:PRINT3000+Z*10+DX:NEXT 620 PRINT"RUN"CHR$(19);:FORJ=1TO3:PRINTCHR$(17);:NEXT 630 FORJ=1TO14:PRINTCHR$(29);:NEXT:PRINT","L+2 640 PRINTCHR$(19):POKE198,9:FORI=0TO8:POKE631+I,13:NEXT:END 650 PRINTCHR$(13)B"DATA"ASC(MID$(A$,I,1))CHR$(157);:LX=LX+1:I=I+1:RETURN 660 FORI=57344TO57452:REM POKE HI CODE 670 READA:POKEI,A:NEXT 680 PRINTCHR$(147)" WHERE SHOULD PWEDGE BE LOCATED?" 690 PRINTCHR$(17)"854 = CASSETTE BUFFER" 700 PRINT"679 = UNUSED RAM (MAYBE)" 710 PRINT"49152 = RESERVED FOR ML PROGRAMS" 720 PRINTCHR$(17)"LOCATION 854"CHR$(157)CHR$(157)CHR$(157)CHR$(157)CHR$(157); 730 INPUTBA:FORI=BATOBA+59:READA:POKEI,A:NEXT 740 IFBA=854THEN830 750 P=BA+60:GOSUB990:POKEBA+10,L:POKEBA+11,H:POKEBA+49,L:POKEBA+50,H 760 P=BA+61:GOSUB990:POKEBA+13,L:POKEBA+14,H:POKEBA+52,L:POKEBA+53,H 770 P=BA+62:GOSUB990:POKEBA+1,L:POKEBA+2,H:POKEBA+55,L:POKEBA+56,H 780 POKE57354,L:POKE57355,H:POKE57449,L:POKE57450,H 790 P=BA+64:GOSUB990:POKEBA+39,L:POKEBA+40,H:POKE57409,L:POKE57410,H 800 POKE57425,L:POKE57426,H:POKE57437,L:POKE57438,H 810 POKE57443,L:POKE57444,H 820 P=BA+25:GOSUB990:POKE57395,L:POKE57396,H 830 P=BA:GOSUB990:POKE806,L:POKE807,H 840 REM POKE CHARACTER DATA 850 I=57601:CT=0:Z=I+256 860 READC:IFC=0THENPOKEZ-257,CT:POKEZ+255,0:GOTO910 870 READL:IF(L+I+3)>=ZTHEN890 880 POKEI,C:POKEI+1,L:FORK=1TOL:READA:POKEI+1+K,A:NEXT:I=I+L+2:CT=CT+1:GOTO860 890 POKEZ-257,CT:CT=1:I=Z:Z=I+256:POKEI,C:POKEI+1,L 900 FORK=1TOL:READA:POKEI+1+K,A:NEXT:I=I+L+2:GOTO860 910 PRINTCHR$(147)"PWEDGE IS NOW INSTALLED." 920 PRINTCHR$(17)"DO YOU WANT A PRINTER TEST?" 930 GOSUB120:IFZ$<>"Y"THENEND 940 OPEN4,4,7:PRINT#4,"THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG." 950 FORI=33TO64:PRINT#4,CHR$(I);:NEXT:PRINT#4 960 FORI=65TO96:PRINT#4,CHR$(I);:NEXT:PRINT#4 970 FORI=193TO218:PRINT#4,CHR$(I);:NEXT:PRINT#4:CLOSE4 980 END 990 H=INT(P/256):L=P-H*256:RETURN 1000 REM *HI CODE* 1010 DATA 172,0,225,192,0,240,32,162,1,173 1020 DATA 148,3,221,0,225,240,36,232,138,24 1030 DATA 125,0,225,170,232,136,208,237,238,2 1040 DATA 224,238,14,224,238,22,224,208,217,169 1050 DATA 225,141,2,224,141,14,224,141,22,224 1060 DATA 76,111,3,173,2,224,141,70,224,141 1070 DATA 79,224,169,8,141,150,3,232,189,0 1080 DATA 225,141,109,224,160,1,232,189,0,225 1090 DATA 153,150,3,232,200,206,109,224,208,243 1100 DATA 169,128,153,150,3,200,169,15,153,150 1110 DATA 3,200,169,17,141,148,3,208,186 1200 REM *LO CODE* 1210 DATA 141,148,3,165,154,201,4,208,45,142 1220 DATA 146,3,140,147,3,120,165,1,41,253 1230 DATA 133,1,76,0,224,165,1,9,2,133 1240 DATA 1,88,192,0,240,12,162,0,189,150 1250 DATA 3,32,202,241,232,136,208,246,174,146 1260 DATA 3,172,147,3,173,148,3,76,202,241 10000 DATA 0